package br.com.q7solucoes.parsercinemaq7.web;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

/**
 * Classe que contem metodos para leitura de URLs.
 *
 * @author Elenilson Vieira - elenilson[at]q7solucoes.com.br
 * @since 04 de janeiro de 2011
 * @version 1.1
 * @see www.q7solucoes.com.br
 */
public class URLReader {

    private URLReader() {
    }

    /**
     * Ler uma URL e retorna seu conteudo.
     *
     * @param url a url a ser lida
     * @param charSet a codificacao
     *
     * @return o conteudo lido na URL
     */
    public static String readURL(String url, String charSet) throws IOException {
        URL urlToRead = new URL(url);
        URLConnection conn = urlToRead.openConnection();

        InputStreamReader isr = new InputStreamReader(urlToRead.openStream(), charSet);
        BufferedReader br = new BufferedReader(isr);

        StringBuilder html = new StringBuilder();
        String linha = null;

        while ((linha = br.readLine()) != null)
            html.append(linha).append("\n");

        return html.toString();
    }

    /**
     * Ler uma URL e retorna seu conteudo.
     *
     * @param url a url a ser lida
     *
     * @return o conteudo lido na URL
     */
    public static String readURL(String url) throws IOException {
        return readURL(url, "UTF-8");
    }
}
